﻿#pragma once

/*
 * @brief 类库内部使用的日志接口，主要是HI_DEBUG和HI_FUNC_DEBUG两个宏
*/

#include "HiLog.hpp"
#include "HiCommonLogDeclear.hpp"

#ifndef HI_DEBUG
#define HI_DEBUG(format, ...) hi_debug(__FILE__,__FUNCTION__, __LINE__, format, ##__VA_ARGS__);
#endif

/*
 * @brief 这是用于函数进出打印日志的宏，只能用于行数中，使用构造和析构函数打印日志
 * @note 该宏中，使用trace_和行号定义变量
*/
#ifndef HI_FUNC_DEBUG
#define HI_FUNC_DEBUG  FunctionTrace function_trace(__FILE__,__FUNCTION__, __LINE__); \
	function_trace.NothingDo
#endif